package br.com.rhinovet.template.email;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import br.com.rhinovet.entidade.Animal;
import br.com.rhinovet.entidade.ProcedimentoConsulta;
import br.com.rhinovet.entidade.Proprietario;
import br.com.rhinovet.enumgeral.Sexo;
import br.com.rhinovet.util.DataUtil;

public class TemplateEmailRetornoConsulta {
	
	private static final String TEXTO_EMAIL = "Retorno de consulta"; 
	
	public static Map<String, String> getTemplate(ProcedimentoConsulta procedimento) {
		
		Proprietario proprietario = procedimento.getConsulta().getProprietario();
		Animal animal = procedimento.getConsulta().getAnimal();
		
		StringBuilder htmlTotal = new StringBuilder();
		
		htmlTotal.append(" <div align=\"center\" style=\"width: 100%; height: 80%; \"> ");
	    htmlTotal.append(" ");
		htmlTotal.append("	<div align=\"center\" style=\"background-color: #C1FFF1; width: 80%; border-radius: 10px; \"> ");
		htmlTotal.append("	<table width=\"100%\" align=\"center\"> ");
		htmlTotal.append("	<tr> ");
		htmlTotal.append("	<td align=\"left\" width=\"20%\"> ");
		htmlTotal.append("	<img height=\"150px\" width=\"150px\" ");
		htmlTotal.append("	src=\"http://www.capvetspecialists.com/wp-content/uploads/2012/05/CVSFinalLogo_TransparentBackground_Final.png\" ");
		htmlTotal.append("	alt=\"Imagem Teste\" /></td> ");
		htmlTotal.append("	<td align=\"center\" style=\"font-size: 21px; font-weight: bold;\" valign=\"middle\"> ");
		htmlTotal.append("	"+TEXTO_EMAIL+"</td> ");
	    htmlTotal.append(" ");
		htmlTotal.append("	<td align=\"left\" width=\"20%\"> ");
		htmlTotal.append("	<img height=\"150px\" width=\"150px\" ");
		htmlTotal.append("	src=\"http://www.capvetspecialists.com/wp-content/uploads/2012/05/CVSFinalLogo_TransparentBackground_Final.png\" ");
		htmlTotal.append("	alt=\"Imagem Teste\" /></td> ");
		htmlTotal.append("	</tr> ");
		htmlTotal.append("	</table> ");
		htmlTotal.append("	<br /> <br /> ");
	    htmlTotal.append(" ");
		htmlTotal.append("	<table width=\"80%\" align=\"center\"> ");
		htmlTotal.append("	<tr> ");
		
		String dataHoje = DataUtil.converteDataParaString(new Date(), false);
		String cidadeProprietario = proprietario.getCidade();
		htmlTotal.append("	<td colspan=\"2\" align=\"right\" style=\"font-size: 16px;\">"+cidadeProprietario+", "+dataHoje+".</td>  ");
	
		htmlTotal.append("	</tr> ");
		htmlTotal.append("	</table> ");
		htmlTotal.append("	<br /> <br /> ");
	    htmlTotal.append(" ");
		htmlTotal.append("	<table width=\"80%\" align=\"center\" cellpadding=\"4\"> ");
		htmlTotal.append("	<tr> ");
		htmlTotal.append("	<td colspan=\"2\" style=\"font-weight: bold; font-size: 18px;\" ");
		
		String nomeProprietario = proprietario.getNome();
		String textoPezado = proprietario.getSexo().equals(Sexo.MASCULINO) ? "Prezado" : "Prezada";
		htmlTotal.append("	"+textoPezado+": "+nomeProprietario+" ");
		htmlTotal.append("	height=\"50px\">"+textoPezado+": "+nomeProprietario+"</td> ");
	
		htmlTotal.append("	</tr> ");
		htmlTotal.append("	<tr> ");
		htmlTotal.append("	<td colspan=\"2\" align=\"center\" style=\"font-size: 17px;\" ");
		htmlTotal.append("	height=\"100px\">Dando continuidade ao atendimento de seu ");
		
		String nomeAnimal = animal.getNome();
		htmlTotal.append("animal "+nomeAnimal+". <br /> Enviamos esta mensagem para ");
		
		
		htmlTotal.append("notificar sobre o retorno de consuta. ");
		htmlTotal.append("	</td> ");
		htmlTotal.append("	</tr> ");
		htmlTotal.append("	<tr> ");
		htmlTotal.append("	<td colspan=\"2\" align=\"justify\" style=\"font-size: 18px;\" ");
		htmlTotal.append("	height=\"100px\"><span style=\"font-weight: bold;\"> ");
		
		String dataRetorno = DataUtil.converteDataParaString(procedimento.getDataRetorno(), false);
		htmlTotal.append("	Data do retorno:</span> "+dataRetorno+".</td> ");
	
		htmlTotal.append("	</tr> ");
		htmlTotal.append("	</table> ");
		htmlTotal.append("	</div> ");
	    htmlTotal.append(" ");
		htmlTotal.append("	</div> ");
		
	    Map<String, String> mapRetorno = new HashMap<String, String>();
	    mapRetorno.put("assunto", TEXTO_EMAIL);
	    mapRetorno.put("corpoEmail", htmlTotal.toString());
		
		return mapRetorno;
	}
}